<?php
use think\Db;

use Aliyun\Core\Config;
use Aliyun\Core\Profile\DefaultProfile;
use Aliyun\Core\DefaultAcsClient;
use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
use Aliyun\Api\Sms\Request\V20170525\QuerySendDetailsRequest;//短信发送记录查询使用
use org\QRcode;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
function systembug($content,$type,$url){
    Db::name('system_bug')->insert(['content'=>$content,'type'=>$type,'url'=>$url,'addtime'=>date('Y-m-d H:i:s')]);
}
// 应用公共文件
/**
 * 获取随机位数数字
 * @param  integer $len 长度
 * @return string
 */
function randString($len = 6) {
    $chars = str_repeat('0123456789', $len);
    $chars = str_shuffle($chars);
    $str = substr($chars, 0, $len);
    return $str;
}
/**
 * [aliyun_sendsms  示例 阿里云云通信发送短息]
 * @author [忘尘]
 * @param $mobile 接收手机号
 * @param $code 验证码
 * @param string $tplCode   短信模板ID
 * @return array
 */
function demo_sendsms($mobile,$code)
{
    if( empty($mobile))
        return array('msg'=>'缺少参数','code'=>'Error');

    require_once '../extend/aliyundysmssdk/api_sdk/vendor/autoload.php';
    // 加载区域结点配置
    Config::load();
    //产品名称:云通信流量服务API产品,开发者无需替换
    $product = "Dysmsapi";
    //产品域名,开发者无需替换
    $domain = "dysmsapi.aliyuncs.com";

    //配置文件
    $config = get_config();
    $accessKeyId = $config['alisms_appkey']; // AccessKeyId
    $accessKeySecret = $config['alisms_appsecret']; // AccessKeySecret
    $tplCode = $config['tplCode'];
    // 暂时不支持多Region
    $region = "cn-hangzhou";
    // 服务结点
    $endPointName = "cn-hangzhou";
    //初始化acsClient,暂不支持region化
    $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
    // 增加服务结点
    DefaultProfile::addEndpoint($endPointName, $region, $product, $domain);
    // 初始化AcsClient用于发起请求
    $acsClient = new DefaultAcsClient($profile);
    // 初始化SendSmsRequest实例用于设置发送短信的参数
    $request = new SendSmsRequest();
    // 必填，设置短信接收号码
    $request->setPhoneNumbers($mobile);
    // 必填，设置签名名称，应严格按"签名名称"填写，请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign
    $request->setSignName($config['alisms_signname']);

    // 必填，设置模板CODE，应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template
    $request->setTemplateCode($tplCode ? $tplCode : $config['alisms_templatecode']);

    // 可选，设置模板参数, 假如模板中存在变量需要替换则为必填项
    $request->setTemplateParam(json_encode(array(  // 短信模板中字段的值
        "code"=>$code,
        "product"=>"福善在线"
    ), JSON_UNESCAPED_UNICODE));

    // 可选，设置流水号
    $request->setOutId("yourOutId");

    // 选填，上行短信扩展码（扩展码字段控制在7位或以下，无特殊需求用户请忽略此字段）
    $request->setSmsUpExtendCode("1234567");

    // 发起访问请求
    $acsResponse = $acsClient->getAcsResponse($request);

    //返回请求结果
    $result = json_decode(json_encode($acsResponse),true);

    return $result;
}

/**
 * [get_config  获取配置]
 * @author [C.]
 * @return array
 */
function get_config(){
    $list = Db::name('config')->select();
    $config = [];
    foreach ($list as $k => $v) {
        $config[trim($v['cname'])] = $v['cvalue'];
    }
    return $config;
}
/**
 * 整理菜单树方法
 * @param $param
 * @return array
 */
function prepareMenu($param)
{
    $parent = []; //父类
    $child = [];  //子类

    foreach($param as $key=>$vo){
        if($vo['pid'] == 0){
            $vo['href'] = '#';
            $parent[] = $vo; //一级菜单
        }else{
            $vo['href'] = url($vo['name']); //跳转地址
            $child[] = $vo; //一级菜单
        }
    }

    //从每一级菜单找到相应的二级菜单
    foreach($parent as $key=>$vo){
        foreach($child as $k=>$v){
            if($v['pid'] == $vo['id']){
                $parent[$key]['child'][] = $v;
            }
        }
    }

    unset($child);

    return $parent;
}
function get_img_thumb_url($content="",$suffix){
//    $pregRule = "/<[img|IMG].*?src=[\'|\"]/";
    $pregRule = '/<img src="\/Public\/kindeditor\/attached\/image/';
    $content = preg_replace($pregRule, '<img src="'.$suffix.'Public/kindeditor/attached/image', $content);
    $content = str_replace('http://www.fushan8.com','http://pic.fushan8.com',$content);
    return $content;
}
/**
 * 内容转化特殊字符
 * @param  integer $len 长度
 * @return string
 */
function percent1($data) {
    $data = str_replace('&lt;','<',$data);
    $data = str_replace('&gt;','>',$data);
    $data = str_replace('&quot;','"',$data);
    $data = str_replace('&nbsp;',' ',$data);
    $data = str_replace('&amp;nbsp;',' ',$data);
    return $data;
}
